home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er 1986 August
/
64er_Magazin_86-08_1986_Markt__Technik_de_Side_A.d64
/
grafik wandler
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
4KB
|
144 lines
1000 rem ******************************
1010 rem * *
1020 rem * grafik wandler 1.86 *
1030 rem * *
1040 rem * norbert haas *
1050 rem * muehlenweg 3 *
1060 rem * 5205 st. augustin 1 *
1070 rem * *
1080 rem ******************************
1090 :
1100 rem farben setzen, basic-ende auf 8191
1110 :
1120 print chr$(144);chr$(147);:poke 56,32:poke 53280,11:poke 53281,12
1130 :
1140 rem hiresbild schon geladen ?
1150 :
1160 l=l+1:if l=2 then 1320
1170 :
1180 rem eingabe namen und startadressen
1190 :
1200 print:input" name hiresbild ";hb$
1210 print:input" name loresbild ";lb$
1220 print:input" startadresse ";s1
1230 print:input" name zeichensatz ";zs$
1240 print:input" startadresse ";s2
1250 :
1260 rem lade hiresbild absolut
1270 :
1280 load hb$+"*",8,1
1290 :
1300 rem alle zeichen zulassen
1310 :
1320 for i=0 to 255
1330 poke 36864+i,0
1340 next
1350 :
1360 rem markieren der nichtzugelassenen zeichen
1370 :
1380 read c:if c<0 then 1440
1390 poke 36864+c,1
1400 goto 1380
1410 :
1420 rem lies maschinenroutine
1430 :
1440 for i=32768 to 33049
1450 read a:poke i,a
1460 next
1470 :
1480 rem hires-grafik an
1490 :
1500 poke 53265,peek(53265) or 32
1510 poke 53272,peek(53272) or 8
1520 :
1530 rem taste
1540 :
1550 get q$:if q$="" then 1550
1560 :
1570 rem hires-grafik aus
1580 :
1590 poke 53265,peek(53265) and 223
1600 poke 53272,peek(53272) and 247
1610 :
1620 rem bildschirm leer, aufruf maschinenroutine
1630 :
1640 print chr$(147);:sys 32768
1650 :
1660 rem alles ok ?
1670 :
1680 if peek(255)=1 then 2030
1690 :
1700 rem errechnen lo- und hibyte der startadressen
1710 :
1720 h1=int(s1/256):l1=s1-256*h1
1730 h2=int(s2/256):l2=s2-256*h2
1740 :
1750 rem speichern bildschirm
1760 :
1770 open 2,8,2,lb$+",p,w"
1780 print#2,chr$(l1);
1790 print#2,chr$(h1);
1800 for i=0 to 999
1810 print#2,chr$(peek(1024+i));
1820 next
1830 close 2
1840 :
1850 rem speichern zeichensatz
1860 :
1870 open 2,8,2,zs$+",p,w"
1880 print#2,chr$(l2);
1890 print#2,chr$(h2);
1900 for i=0 to 2047
1910 print#2,chr$(peek(16384+i));
1920 next
1930 close 2
1940 :
1950 rem ende ok
1960 :
1970 print chr$(147):print" fertig."
1980 print:print" anzahl freier zeichen:";255-peek(828)
1990 poke 56,160:clr:end
2000 :
2010 rem ende fehler
2020 :
2030 print chr$(147):print" zu viele verschiedene blocks."
2040 goto 1990
2050 :
2060 rem bildschirmcodes (!) erwuenschter zeichen
2070 :
2080 data 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26
2090 data 32,46,48,49,50,51,52,53,54,55,56,57,160,-1
2100 :
2110 rem maschinenprogramm
2120 :
2130 data 120,165, 1, 41,251,133, 1,162, 0,160
2140 data 208,134,252,132,253,162, 0,160, 64,134
2150 data 254,132,255,162, 8,160, 0,177,252,145
2160 data 254,200,208,249,230,253,230,255,202,208
2170 data 242,165, 1, 9, 4,133, 1, 88,162, 0
2180 data 160, 32,134,254,132,255,162, 0,160, 64
2190 data 134,252,132,253,162, 0,160, 4,134,249
2200 data 132,250,162, 0,142, 60, 3,174, 60, 3
2210 data 189, 0,144,240, 23, 24,165,252,105, 8
2220 data 133,252,144, 2,230,253,238, 60, 3,240
2230 data 2,208,230,169, 1,133,255, 96, 24,160
2240 data 7,177,254,240, 1, 56,153, 0,145,136
2250 data 16,245,176, 34, 24,165,254,105, 8,133
2260 data 254,144, 2,230,255,230,249,208, 2,230
2270 data 250,165,254,201, 64,208,217,165,255,201
2280 data 63,208,211,169, 0,133,255, 96,173, 60
2290 data 3,160, 0,145,249,160, 7,185, 0,145
2300 data 145,252,136, 16,248, 24,165,254,105, 8
2310 data 133,254,144, 2,230,255,230,249,208, 2
2320 data 230,250,165,254,201, 64,208, 8,165,255
2330 data 201, 63,208, 2,240,203,166,254,164,255
2340 data 134,247,132,248,166,249,164,250,134,180
2350 data 132,181,160, 7,177,247,217, 0,145,208
2360 data 19,136, 16,246,160, 0,173, 60, 3,145
2370 data 180,160, 7,169, 0,145,247,136, 16,251
2380 data 24,165,247,105, 8,133,247,144, 2,230
2390 data 248,230,180,208, 2,230,181,165,247,201
2400 data 64,208,205,165,248,201, 63,208,199, 76
2410 data 85,128
0